vmx: avoid taking locks with irqs disabled
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 20 Oct 2008 14:31:54 +0000 (15:31 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 20 Oct 2008 14:31:54 +0000 (15:31 +0100)
commit8e75cae72a33c531e2ca39adf834fcad8fca2307
treee800fab84af3abcf2dfd2f6df5a0f0f7be00da0b
parent372da9b41e0fc70bcf5bb5336b6be461052adfd4
vmx: avoid taking locks with irqs disabled

Shuffle the bits of the vmexit handler that run with EFLAGS.IF == 0 up
to the top.  Otherwise we end up calling spin_lock() with interrupts
disabled, which can deadlock against the time-synchronization
rendezvous code.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
xen/arch/x86/hvm/vmx/vmx.c